#pragma once

//#include "nppdefs.h"
//#include "nppi_color_conversion.h"
//#include "nppi_geometry_transforms.h"
//#include "nppi_support_functions.h"

#include <opencv2/opencv.hpp>
//#include <cuda_runtime.h>

namespace sensor::camera {

class ImagePixFormatConvertor {
public:
    ImagePixFormatConvertor(int width, int height);
    ~ImagePixFormatConvertor();

    cv::Mat convert_uyvy422_to_bgr_by_opencv(const void* pyuv, int width, int height);
 //   cv::Mat convert_uyvy422_to_bgr_by_cuda(const void* pyuv, int width, int height);

    cv::Mat convert_uyvy422_to_rgb_by_opencv(const void* pyuv, int width, int height);
 //   cv::Mat convert_uyvy422_to_rgb_by_cuda(const void* pyuv, int width, int height);

private:
  //  Npp8u* gpu_buff_UYVY;
  //  Npp8u* gpu_buff_GBR;
};

}
